home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / glibc-1.09 / glibc-1 / glibc-1.09.1 / sysdeps / standalone / __brk.c next >
Encoding:
C/C++ Source or Header  |  1994-08-25  |  1.7 KB  |  69 lines

  1. /* Copyright (C) 1991, 1994 Free Software Foundation, Inc.
  2.    Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil,
  3.      On-Line Applications Research Corporation.
  4.  
  5. This file is part of the GNU C Library.
  6.  
  7. The GNU C Library is free software; you can redistribute it and/or
  8. modify it under the terms of the GNU Library General Public License as
  9. published by the Free Software Foundation; either version 2 of the
  10. License, or (at your option) any later version.
  11.  
  12. The GNU C Library is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15. Library General Public License for more details.
  16.  
  17. You should have received a copy of the GNU Library General Public
  18. License along with the GNU C Library; see the file COPYING.LIB.  If
  19. not, write to the Free Software Foundation, Inc., 675 Mass Ave,
  20. Cambridge, MA 02139, USA.  */
  21.  
  22. #include <ansidecl.h>
  23. #include <stdlib.h>
  24.  
  25. PTR __curbrk;
  26. PTR __rorig;
  27. PTR __rlimit;
  28.  
  29. int
  30. DEFUN(__brk, (inaddr), PTR inaddr)
  31. {
  32.  
  33.   if ( ( (void *)inaddr > (void *)__rlimit ) || 
  34.                         ( (void *)inaddr < (void *)__rorig ) ) 
  35.     return -1;
  36.  
  37.   __curbrk = inaddr;
  38.   return 0;
  39. }
  40.  
  41. /* Initialization Code for Memory Allocation */
  42.  
  43. PTR __C_heap_start;
  44. int __C_heap_size;
  45.  
  46. #ifdef HAVE_GNU_LD
  47. static
  48. #endif
  49. void
  50. DEFUN(__NONE_set_memvals, (argc, argv, envp),
  51.       int argc AND char **argv AND char **envp)
  52. {
  53.  
  54.   __rorig  = 
  55.   __curbrk = __C_heap_start;
  56.   __rlimit = __curbrk + __C_heap_size;
  57.  
  58.   (void) &__NONE_set_memvals;    /* Avoid "defined but not used" warning.  */
  59. }
  60.  
  61. #ifdef  HAVE_GNU_LD
  62.  
  63. #include <gnu-stabs.h>
  64.  
  65. text_set_element (__libc_subinit, __NONE_set_memvals);
  66.  
  67. #endif
  68.  
  69.